home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / t_unix / j109lxa4.tar / socket.h < prev    next >
C/C++ Source or Header  |  1994-06-04  |  6KB  |  203 lines

  1. /* Mods by PA0GRI */
  2. #ifndef    _SOCKET_H
  3. #define    _SOCKET_H
  4.  
  5. #ifndef    _GLOBAL_H
  6. #include "global.h"
  7. #endif
  8.  
  9. #ifdef    ANSIPROTO
  10. #include <stdarg.h>
  11. #endif
  12.  
  13. #ifndef    _MBUF_H
  14. #include "mbuf.h"
  15. #endif
  16.  
  17. #ifndef _PROC_H
  18. #include "proc.h"
  19. #endif
  20.  
  21. #ifndef _SOCKADDR_H
  22. #include "sockaddr.h"
  23. #endif
  24.  
  25. /* Local IP wildcard address */
  26. #define    INADDR_ANY    0x0L
  27.  
  28. /* IP protocol numbers */
  29. /* now in internet.h */
  30.  
  31. /* TCP port numbers */
  32. #define    IPPORT_ECHO    7    /* Echo data port */
  33. #define    IPPORT_DISCARD    9    /* Discard data port */
  34. #define    IPPORT_FTPD    20    /* FTP Data port */
  35. #define    IPPORT_FTP    21    /* FTP Control port */
  36. #define IPPORT_TELNET    23    /* Telnet port */
  37. #define IPPORT_SMTP    25    /* Mail port */
  38. #define    IPPORT_FINGER    79    /* Finger port */
  39. #define    IPPORT_TTYLINK    87    /* Chat port */
  40. #define    IPPORT_POP    109    /* Pop port */
  41. #define    IPPORT_POP2    109    /* Pop port */
  42. #define IPPORT_POP3 110 /* Pop port */
  43. #define IPPORT_NNTP 119 /* Netnews port */
  44. #define    IPPORT_RLOGIN    513    /* Remote login */
  45. #define    IPPORT_CONVERS    3600    /* Converse */
  46. #define IPPORT_XCONVERS 3601    /* LZW Convers */
  47. #define IPPORT_CALLDB 1235  /* Pulled out of the air GRACILIS */
  48.  
  49. /* UDP port numbers */
  50. #define    IPPORT_DOMAIN    53
  51. #define    IPPORT_BOOTPS    67    /* bootp server */
  52. #define    IPPORT_BOOTPC    68    /* bootp client */
  53. #define    IPPORT_RWHO    513
  54. #define    IPPORT_RIP    520
  55. #define    IPPORT_TIMED    525    /* Time daemon */
  56. #define    IPPORT_REMOTE    1234    /* Pulled out of the air */
  57.  
  58. #define    AF_INET        0
  59. #define    AF_AX25        1
  60. #define AF_NETROM    2
  61. #define    AF_LOCAL    3
  62.  
  63. #define    SOCK_STREAM    0
  64. #define    SOCK_DGRAM    1
  65. #define    SOCK_RAW    2
  66. #define SOCK_SEQPACKET    3
  67.  
  68. /* Socket flag values - controls newline mapping */
  69. #define    SOCK_BINARY    0    /* socket in raw (binary) mode */
  70. #define    SOCK_ASCII    1    /* socket in cooked (newline mapping) mode */
  71. #define    SOCK_QUERY    2    /* Return setting without change */
  72.  
  73. /* Socket noblock values, set with sockblock() */
  74. #define SOCK_BLOCK      0
  75. #define SOCK_NOTXBLOCK  1
  76. #define SOCK_NORXBLOCK  2   /* currently not implemented - WG7J */
  77.  
  78.  
  79. #ifdef UNIX
  80.  
  81. /*
  82.  * Avoid collisions with the C library's socket interface.  We may want to use
  83.  * that in the future, anyway.  (Something like WAMPES tcpgate, but with some
  84.  * protections.)
  85.  */
  86.  
  87. #define accept j_accept
  88. #define bind j_bind
  89. #define connect j_connect
  90. #define getpeername j_getpeername
  91. #define getsockname j_getsockname
  92. #define listen j_listen
  93. #define setflush j_setflush
  94. #define shutdown j_shutdown
  95. #define socket j_socket
  96. #define socketpair j_socketpair
  97. #define recv j_recv
  98. #define recvfrom j_recvfrom
  99. #define send j_send
  100. #define sendto j_sendto
  101.  
  102. #define EABORT ECONNRESET
  103. #define EALARM ETIME
  104.  
  105. #else
  106.  
  107. #define    EMFILE    1
  108. #define    EBADF    2
  109. #define    EINVAL    3
  110. #define    ESOCKTNOSUPPORT    4
  111. #define    EAFNOSUPPORT    5
  112. #define    EOPNOTSUPP    6
  113. #define    EFAULT        7
  114. #define    ENOTCONN    8
  115. #define    ECONNREFUSED    9
  116. #define EAFNOSUPP    10
  117. #define    EISCONN        11
  118. #define    EWOULDBLOCK    12
  119. #define    EINTR        13
  120. #define    EADDRINUSE    14
  121. #define    ENOMEM        15
  122. #define EMSGSIZE    16
  123. #define    EALARM        17
  124. #define    EABORT        18
  125.  
  126. #endif
  127.  
  128. /* In socket.c: */
  129. extern int Axi_sock;    /* Socket listening to AX25 (there can be only one) */
  130.  
  131. int accept __ARGS((int s,char *peername,int *peernamelen));
  132. int bind __ARGS((int s,char *name,int namelen));
  133. int close_s __ARGS((int s));
  134. int connect __ARGS((int s,char *peername,int peernamelen));
  135. void freesock __ARGS((struct proc *pp));
  136. int getpeername __ARGS((int s,char *peername,int *peernamelen));
  137. int getsockname __ARGS((int s,char *name,int *namelen));
  138. int listen __ARGS((int s,int backlog));
  139. int recv_mbuf __ARGS((int s,struct mbuf **bpp,int flags,char *from,int *fromlen));
  140. int send_mbuf __ARGS((int s,struct mbuf *bp,int flags,char *to,int tolen));
  141. int setflush __ARGS((int s,int c));
  142. int shutdown __ARGS((int s,int how));
  143. int socket __ARGS((int af,int type,int protocol));
  144. void sockinit __ARGS((void));
  145. int sockkick __ARGS((int s));
  146. int socklen __ARGS((int s,int rtx));
  147. struct proc *sockowner __ARGS((int s,struct proc *newowner));
  148. int usesock __ARGS((int s));
  149. int socketpair __ARGS((int af,int type,int protocol,int sv[]));
  150.  
  151. /* In sockuser.c: */
  152. void flushsocks __ARGS((void));
  153. int keywait __ARGS((char *prompt,int flush));
  154. int recv __ARGS((int s,char *buf,int len,int flags));
  155. int recvchar __ARGS((int s));
  156. int recvfrom __ARGS((int s,char *buf,int len,int flags,char *from,int *fromlen));
  157. int recvline __ARGS((int s,char *buf,unsigned len));
  158. int rrecvchar __ARGS((int s));
  159. int send __ARGS((int s,char *buf,int len,int flags));
  160. int sendto __ARGS((int s,char *buf,int len,int flags,char *to,int tolen));
  161. int seteol __ARGS((int s,char *seq));
  162. int sockmode __ARGS((int s,int mode));
  163. int sockblock __ARGS((int s,int value));
  164. void tflush __ARGS((void));
  165. int tprintf __ARGS((char *fmt,...));
  166. int tputc __ARGS((char c));
  167. #ifdef UNIX
  168. #define tputs j_tputs
  169. #endif
  170. int tputs __ARGS((char *s));
  171. #ifdef UNIX
  172. int traceprintf __ARGS((FILE *fp, char *fmt, ...))
  173. #ifdef __GNUC__
  174.     __attribute__ ((format (printf, 2, 3)))
  175. #endif
  176.     ;
  177. int tcmdprintf __ARGS((char *fmt, ...))
  178. #ifdef __GNUC__
  179.     __attribute__ ((format (printf, 1, 2)))
  180. #endif
  181.     ;
  182. int tfprintf __ARGS((FILE *fp, char *fmt, ...))
  183. #ifdef __GNUC__
  184.     __attribute__ ((format (printf, 2, 3)))
  185. #endif
  186.     ;
  187. #endif
  188. int usflush __ARGS((int s));
  189. int usprintf __ARGS((int s,char *fmt,...));
  190. int usputc __ARGS((int s,char c));
  191. int usputs __ARGS((int s,char *x));
  192. int usvprintf __ARGS((int s,char *fmt, va_list args));
  193.  
  194. /* In file sockutil.c: */
  195. char *psocket __ARGS((void *p));
  196. char *sockerr __ARGS((int s));
  197. char *sockstate __ARGS((int s));
  198.  
  199. /* In mailbox.c: */
  200. extern char Nosock[];
  201.  
  202. #endif    /* _SOCKET_H */
  203.